package persistencia;
import java.util.ArrayList;
import java.util.List;
import entidade.QuestaoMultiplaEscolha;
import entidade.Questao;

public class QuestaoMultiplaEscolhaDao extends QuestaoDao{
	
	public void cadastrar(QuestaoMultiplaEscolha q)throws Exception{

        conectar();
        stmt = con.prepareStatement("insert  into questaomultescolha (codDisciplina, codTopico,dificuldade,enunciado, " +
        		"opcaoA, opcaoB, opcaoC, opcaoD, opcaoE, gabarito) values(?,?,?,?,?,?,?, ?,?,?)");
        stmt.setInt(1, q.getCodDisciplina());
        stmt.setInt(2, q.getCodTopico()); 
        stmt.setString(3, q.getDificuldade());
        stmt.setString(4, q.getEnunciado());
        stmt.setString(5, q.getOpcaoA());
        stmt.setString(6, q.getOpcaoB());
        stmt.setString(7, q.getOpcaoC());
        stmt.setString(8, q.getOpcaoD());
        stmt.setString(9, q.getOpcaoE());
        stmt.setString(5, q.getGabarito());
        stmt.execute();
        desconectar();
    }

    public List<Questao> consultaGeral()throws Exception{
        conectar();
        List<Questao> lista = new ArrayList<Questao>();
        stmt = con.prepareStatement("select * from questaomultescolha");
        rs = stmt.executeQuery();

        while(rs.next()){
            QuestaoMultiplaEscolha q = new QuestaoMultiplaEscolha();
            q.setIdQuestao(rs.getInt("idQuestao"));
            q.setCodDisciplina(rs.getInt("codDisciplina"));
            q.setCodTopico(rs.getInt("codTopico"));
            q.setDificuldade(rs.getString("dificuldade"));
            q.setEnunciado(rs.getString("enunciado"));
            q.setOpcaoA(rs.getString("opcaoA"));
            q.setOpcaoB(rs.getString("opcaoB"));
            q.setOpcaoC(rs.getString("opcaoC"));
            q.setOpcaoD(rs.getString("opcaoD"));
            q.setOpcaoE(rs.getString("opcaoE"));
            q.setGabarito(rs.getString("gabarito"));
            lista.add(q);
        }
        desconectar();
        return lista;

    }


    public void deletar(int idQuestao)throws Exception{
        conectar();
        stmt = con.prepareStatement("delete from disciplina where idQuestao = ?");
        stmt.setInt(1, idQuestao);
        stmt.execute();
        desconectar();

    }

    public void editar(QuestaoMultiplaEscolha q)throws Exception{

        conectar();
        stmt = con.prepareStatement("update questao set dificuldade =?, enunciado =? where idQuestao =?");
        stmt.setString(1, q.getDificuldade());
        stmt.setString(2, q.getEnunciado());
        stmt.setInt(3, q.getIdQuestao());
        stmt.execute();
        desconectar();

    }

    public QuestaoMultiplaEscolha consultarDados(int idQuestao)throws Exception{
        QuestaoMultiplaEscolha q = null;
        conectar();
        stmt = con.prepareStatement("select * from questaomultescolha where idQuestao =?");
        stmt.setInt(1, idQuestao);
        rs = stmt.executeQuery();

        if(rs.next()){
            q = new QuestaoMultiplaEscolha();
            q.setIdQuestao(rs.getInt("idQuestao"));
            q.setCodDisciplina(rs.getInt("codDisciplina"));
            q.setCodTopico(rs.getInt("codTopico"));
            q.setDificuldade(rs.getString("dificuldade"));
            q.setEnunciado(rs.getString("enunciado"));
            q.setOpcaoA(rs.getString("opcaoA"));
            q.setOpcaoB(rs.getString("opcaoB"));
            q.setOpcaoC(rs.getString("opcaoC"));
            q.setOpcaoD(rs.getString("opcaoD"));
            q.setOpcaoE(rs.getString("opcaoE"));
            q.setGabarito(rs.getString("gabarito"));
            
        }
      return q;
    }


}
